package com.group01.dto.User;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.group01.annotation.Flag;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @Description 修改用户信息接口数据传输对象
 * @Author 翟玉龙
 * @Date 2024/6/21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class UserUpdateInfoDTO {
    /**
     * 主键ID
     */
    @NotNull(message = "用户ID不能为空")
    private Integer id;

    /**
     * 登录用户名
     */
    @NotNull(message = "用户名不能为空")
    @NotEmpty(message = "用户名不能为空字符串")
    private String username;

    /**
     * 手机号
     */
    @NotNull(message = "手机号不能为空")
    @NotEmpty(message = "手机号不能为空字符串")
    private String phone;

    /**
     * 用户头像
     */
    @NotNull(message = "用户头像不能为空")
    @NotEmpty(message = "用户头像不能为空字符串")
    private String avatar;

    /**
     * 用户性别(0男，1女)
     */
    @Flag
    private String gender;

    /**
     * 用户状态(0正常，1禁用)
     */
    private Integer status;

    /**
     * 用户生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 角色编号
     1. 管理员
     2. 普通用户
     */
    private Integer roleId;


}
